home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 April: Mac OS SDK / Dev.CD Apr 98 SDK1.toast / Development Kits (Disc 1) / QuickDraw 3D / Windows files / Q3WinSDK.exe / QD3DSDK / Samples / Win32Sample / Do_Win32DCDrawContext.c < prev    next >
Encoding:
C/C++ Source or Header  |  1996-09-27  |  1.6 KB  |  44 lines

  1. // Win32DCDrawContext - this module creates the Pixmap draw context
  2. // in this version is it creates an offscreen pixmap draw context with a Win32 GDI dib section attached
  3.  
  4. #include "Box3DSupport.h"
  5.  
  6.  
  7.  
  8. //----------------------------------------------------------------------------------
  9.  
  10. TQ3DrawContextObject NewWin32DCDrawContext(DocumentPtr theDocument)
  11. {
  12.     TQ3DrawContextData            myDrawContextData;
  13.     TQ3Win32DCDrawContextData    myWin32DCDrawContextData;
  14.     TQ3DrawContextObject        myDrawContext ;
  15.     DWORD                        wndClassStyle;
  16.  
  17.         //    fill in draw context data.
  18.     myDrawContextData.clearImageMethod = kQ3ClearMethodWithColor;
  19.         //    Set the background color.
  20.     myDrawContextData.clearImageColor.a = 1.0F;
  21.     myDrawContextData.clearImageColor.r = (float)theDocument->clearColorR/(float)255;
  22.     myDrawContextData.clearImageColor.g = (float)theDocument->clearColorG/(float)255;
  23.     myDrawContextData.clearImageColor.b = (float)theDocument->clearColorB/(float)255;
  24.  
  25.     myDrawContextData.paneState = kQ3False;
  26.     myDrawContextData.maskState = kQ3False;
  27.     myDrawContextData.doubleBufferState = kQ3True;    /* double buffer required */
  28.     
  29.     /* Assertion: window MUST be CS_OWNDC */
  30.     wndClassStyle = GetClassLong( theDocument->fWindow, GCL_STYLE );
  31.     if( CS_OWNDC != ( wndClassStyle & CS_OWNDC ) ) 
  32.         return NULL;    
  33.  
  34.     /* set up the win32DCDrawContext */
  35.     myWin32DCDrawContextData.hdc = GetDC( theDocument->fWindow );
  36.  
  37.     myWin32DCDrawContextData.drawContextData = myDrawContextData;
  38.  
  39.     //    Create draw context and return it, if it's NULL the caller must handle
  40.     myDrawContext = Q3Win32DCDrawContext_New(&myWin32DCDrawContextData) ;
  41.  
  42.     return myDrawContext ;
  43. }
  44.